Optimizing Software Transactional Memory Replication via Speculation
نویسنده
چکیده
Software Transactional Memories (STMs) are emerging as a potentially disruptive programming paradigm. Due to scalability and fault-tolerance requirements, Distributed STMs (DSTMs) are receiving more attention. Database management systems and STMs share the same key abstraction: atomic transactions. However, database and memory transactions have very distinct characteristics. Database replication protocols do not provide proper performance when applied to STMs. This work studies existing techniques to maintain the consistency of the STM replicated data, identifies limitations on those techniques, and proposes the architecture for building a novel replication protocol for STMs, that aims to overcome the limitations of current techniques by taking advantage of available computational resources to perform speculative operations. We end with an evaluation methodology for the future protocol implementation.
منابع مشابه
Compiler Assisted Speculation for Multithreaded Programming
Multithreaded programming, which well fits the structure of modern shared memory systems, is becoming one of the most popular parallel programming models. Two important supporting components of multithreaded programming, concurrent data structures and transactional memory, can benefit from speculation. However, traditional speculation mechanisms, which do not exploit high level knowledge about ...
متن کاملExploiting Locality in Lease-Based Replicated Transactional Memory via Task Migration
We present Lilac-TM, the first locality-aware Distributed Software Transactional Memory (DSTM) implementation. Lilac-TM is a fully decentralized lease-based replicated DSTM. It employs a novel self-optimizing lease circulation scheme based on the idea of dynamically determining whether to migrate transactions to the nodes that own the leases required for their validation, or to demand the acqui...
متن کاملAnalysis of the overheads incurred due to speculation in a task based programming model
In order to efficiently utilize the ever increasing processing power of multi-cores, a programmer must extract as much parallelism as possible from a given application. However with every such attempt there is an associated overhead of its implementation. A parallelization technique is beneficial only if its respective overhead is less than the performance gains realized. In this paper we analy...
متن کاملMSpec: A Design Pattern for Concurrent Data Structures
Speculation is a well-known means of increasing parallelism among concurrent methods that are usually but not always independent. Traditional nonblocking data structures employ a particularly restrictive form of speculation. Software transactional memory (STM) systems employ a much more general—though typically blocking—form, and there is a wealth of options in between. We explore data-structur...
متن کاملPartial Replication for Software Transactional Memory Systems
Nowadays, transactional in-memory distributed storage systems are widely used as a mean to increase the performance of applications that need to access frequently large amount of shared data. In this context, data replication has two main advantages: it supports load balancing and fault-tolerance. However, these advantages need to be weighted against the costs of replications: namely memory con...
متن کامل